package com.springmvc.longtao.smbms.service;

import com.springmvc.longtao.smbms.pojo.Role;
import com.springmvc.longtao.smbms.pojo.User;
import com.springmvc.longtao.smbms.pojo.UserAndRole;

import java.util.List;

/**
 * @author :longtao
 */
public interface UserService {
	/**
	 * 增加用户信息
	 * @param user
	 * @return
	 */
	public boolean add(User user);
	
	/**
	 * 用户登录
	 * @param userCode
	 * @param userPassword
	 * @return
	 */
	public User login(String userCode, String userPassword);
	
	/**
	 * 根据条件查询用户列表
	 * @param queryUserName
	 * @param queryUserRole
	 * @return
	 */
	public List<UserAndRole> getUserList(String queryUserName, Integer queryUserRole, Integer currentPageNo, Integer pageSize);
	/**
	 * 根据条件查询用户表记录数
	 * @param queryUserName
	 * @param queryUserRole
	 * @return
	 */
	public int getUserCount(String queryUserName, Integer queryUserRole);
	
	/**
	 * 根据userCode查询出User
	 * @param userCode
	 * @return
	 */
	public User selectUserCodeExist(String userCode);
	
	/**
	 * 根据ID删除user
	 * @param delId
	 * @return
	 */
	public boolean deleteUserById(Integer delId);
	
	/**
	 * 根据ID查找user
	 * @param id
	 * @return
	 */
	public User getUserById(String id);
	
	/**
	 * 修改用户信息
	 * @param user
	 * @return
	 */
	public boolean modify(User user);
	
	/**
	 * 根据userId修改密码
	 * @param id
	 * @param pwd
	 * @return
	 */
	public boolean updatePwd(int id, String pwd);

    /**
     * 查询角色表
     * @return
     */
	public List<Role> queryRole();

    /**
     * 查询用户具体信息
     * @param id
     * @return
     */
	public UserAndRole queryUserAndRoleID(String id);


    /**
     * 根据code查询用户
     * @param userCode
     * @return
     */
    public UserAndRole queryUserCode(String userCode);
}
